<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: #f00;
            position: absolute;
            /* left: 1000px; */
        }
    </style>
</head>

<body>
    <div></div>

    <script>

        // function move(ele, speed, end) {
        //     var t = setInterval(function () {
        //         var start = ele.offsetLeft;
        //         start -= speed;
        //         ele.style.left = start + 'px';
        //         if (start <= end) {
        //             clearInterval(t);
        //             ele.style.left = end + 'px';
        //         }
        //     }, 20)
        // }


        // function move(ele, speed, end) {
        //     var t = setInterval(function () {
        //         // 在原有位置基础上进行移动
        //         var start = ele.offsetLeft;
        //         start += speed;
        //         ele.style.left = start + 'px';
        //         if (start >= end) {
        //             clearInterval(t);
        //             // 如果超出了终点
        //             ele.style.left = end + 'px';
        //         }
        //     }, 20)
        // }


        var oDiv = document.querySelector('div') ;

        move(oDiv , 20 ,1100) ;


        function move(ele, speed, end) {
            // 在原有位置基础上进行移动
            var start = ele.offsetLeft;
            // 判断end和start 
            speed = end > start ? speed : -speed ;

            var t = setInterval(function () {
                start += speed;
                ele.style.left = start + 'px';
                if(Math.abs(end - start) <= Math.abs(speed)) {
                    clearInterval(t) ;
                    ele.style.left = end + 'px';
                }
            }, 20)
        }
    </script>

</body>

</html>